package com.htt.bms.domain.sys;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author 侯婷婷
 * @version 1.0
 * @description 菜单
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName(value = "sys_menu")
@ApiModel("菜单")
public class SysMenu {
    
    @ApiModelProperty("主键id")
    private Integer id;//主键id
    
    @ApiModelProperty("菜单名称")
    private String name;//菜单名称
    
    @ApiModelProperty("菜单路由")
    private String url;//菜单路由
    
    @ApiModelProperty("菜单图标")
    private String icon;//菜单图标
    
    @ApiModelProperty("状态：0.未上架,1.正常,2.下架")
    private Integer status;//状态：0.未上架，1.正常，2.下架
    
    @ApiModelProperty("状态")
    @TableField(exist = false)
    private String statusName;//状态
    
    @ApiModelProperty("类型：0.按钮,1.菜单,2.嵌套链接,3.跳转链接")
    private Integer type;//类型：0.按钮，1.菜单，2.嵌套链接，3.跳转链接
    
    @ApiModelProperty("类型")
    @TableField(exist = false)
    private String typeName;//类型
    
    @ApiModelProperty("中文名")
    private String chineseName;//中文名
    
    @ApiModelProperty("英文名")
    private String englishName;//英文名
    
    @ApiModelProperty("父id")
    private Integer parentId;//父id
    
    @ApiModelProperty("排序")
    private Integer sort;//排序

    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;//更新时间

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;//创建时间

    @ApiModelProperty("子集")
    private List<SysMenu> children;//子集

    @ApiModelProperty("角色ids")
    private Integer roleId;//角色id
}
